perm filename RANDOM.SAI[SYS,BGB]1 blob
sn#001410 filedate 1972-08-31 generic text, type T, neo UTF8
00100 ENTRY RANDOM;
00200 BEGIN "RANDOM"
00400 SAFE INTEGER ARRAY RAN5[0:255];
00500 INTEGER RAN1,RAN2,RAN3,RAN4,INITFLG;
00600 PROCEDURE RANDOMI;
00700 BEGIN "INIT"
00900 INTEGER I;
01000 RAN1←1;
01100 RAN2←3;
01200 FOR I←0 STEP 1 UNTIL 255 DO
01300 RAN5[I]←RAN2←(RAN2*3)MOD 2↑31 ;
01350 INITFLG ← TRUE;
01400 END "INIT";
01500
01600 INTERNAL REAL PROCEDURE RANDOM;
01700 BEGIN "RANDOM"
01800 IF INITFLG THEN ELSE RANDOMI;
02000 RAN1←(RAN2*1756) MOD 8191;
02100 RAN3←RAN1 DIV 32;
02200 RAN4←RAN5[RAN3];
02300 RAN2←RAN5[RAN3]←(RAN2*3)MOD 2↑31;
02400 RETURN(RAN4/2↑31)
02500 END "RANDOM";
02600
02700 END "RANDOM"